<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        /**
         *  1. 了解 getter和setter的概念：
         *  2. 了解 getter 和 setter的执行时机
         *      2-1. getter的返回值是什么
         *      2-2. setter的参数是什么
         * 
         * ES6  Object.definedProperty
         * 
         *       getter
         *       setter
         * 
         */
        
        var user = {
            name:'atguigu',
            age:19,
            //getter 函数执行时机：读取name属性的时候执行,并且函数的返回值就是name的属性值
            get name(){
                console.log('获取name的值');
                return 'xxxx'
            },
            // setter 函数执行时机，设置name属性的时候，执行，并且将设置的值传递个参数 val
            set name(val){
                console.log('name 的 setter执行了：',val);
            },
            get age(){
                return 999;
            },
            set age(val){
                console.log('age 的setter', val);
            }
        }

        user.name = '尚硅谷';
        console.log(user.name);
        console.log(user.age);
        user.age = 1000;

    </script>
</body>
</html>